package com.lt.lumentracks.entity.vo.comment;

import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

// 查询帖子的时候要返回的评论信息
@Data
public class CommentVO_post {

    private Long id;
    private Integer postId;
    private Integer userId;
    private Long parentId; // 父评论的id，0代表为顶级评论
    private Integer parentUserId;
    private Integer level; // 评论的层级（1代表顶层，2代表子评论）
    private Long replyId; // 回复的评论id（只有在层级为3时才有效）
    private Integer replyUserId; // 回复的评论的用户的id
    private String replyUsername; // 回复的评论的用户的名称
    private String content;
    private Integer likesCount;
    private Integer repliesCount; // 某评论的子评论总数量
    private Integer status;
    private LocalDateTime createTime;

    // 差异字段
    private String username; // 评论用户的名称
    private String userAvatarUrl;
    private List<CommentVO_post> childrenComments; // 若为null，则代表其已经是某个评论下的子评论

    // 最多只能套一层子评论，不允许再往深层嵌套
    // 楼中回复效果：repliesCount为要回复的评论id，且这个评论的childrenComments为null
}
